#pragma once

#include<iostream>
#include<string>
#include<ctime>

#define NORMAL  1
#define WARNING 2
#define DEBUG   3
#define FATAL   4

#define LOG(LEVEL, MESSAGE) log(#LEVEL, MESSAGE, __FILE__, __LINE__)

void log(std::string level, std::string message, std::string file, size_t line) {

    std::cout << "[" << level << "]" 
    << "[" << time(nullptr) << "]" 
    << "[" << message << "]" 
    << "[" << file << "]" 
    << "[" << line << "]" << std::endl;
}